home *** CD-ROM | disk | FTP | other *** search
- lack -- load ackessories
- version 0.26 -- ultrabeta
- Well, winter quarter is about to start, and I'm not sure
- how much work I will be able to do on this program in the near
- future. I thought I would send it out now for whatever it is
- worth.
- lack is a program to load and unload accessories which
- works with mint. Each accessory has its own mint process and can
- be loaded and allocate memory at any time without having it freed
- by the main application. lack has not been tested on a 030, or
- anything other than an st with tos 1.4. It should work with an
- 030, but will not work with memory protection. lack comes in two
- parts: lack.xfs and lack.acc, lack.xfs and at least two copies of
- lack.acc should be placed in the root directory of your boot
- drive. No other accessories can be present in this directory.
- To start an accessory select "lack control" from the desk
- menu and use the fileselector. The default path you will be
- presented with is the first entry in you PATH environment
- variable, this is where I keep all my gem programs and where even
- tos 1.0 should be able to locate rsc files. To start an
- accessory in the mint domain, select "lack control" with the
- shift key down. To start a program select "lack control" with
- the alt key down. Right now, you won't be able to access the
- menu bar of a program started in this manner. To unload an acc,
- select "lack control" with the control key down, a menu of loaded
- acc's will pop up. Before you unload an acc, you should close
- all its windows. When you do this, an accessory will generally
- unload its gdos fonts and close all its virtual workstations. If
- you unload an acc without first closing all its windows, weird
- vdi problems and eventually a crash will result. This will be
- fixed if I ever get back to work on the program.
- This program has severe problems with file selectors.
- The builtin fileselector allocate some memory which is freed
- during the next aes call, since a different process is usually
- running during this call, the memory is never freed. The only
- other fileselectors I have tested lack with are the maxon fsel
- which comes with turbo-assembler and mfsfm. The maxon fsel won't
- work at all, mfsfm must be started after lack, which means it
- must be started after the desktop.
- There are two ways to start lack. If gem is started from
- mint, lack will start automatically. It works with the rom
- desktop only to a small extent. If mint is started after gem,
- you must use the program startlack. It takes one argument, the
- highest gem application id in use. The main application is apid
- 0, and gem's screen manager is apid 1, so accessories start at
- apid 2. If you have two copies of lack.acc use "startlack 3"; if
- you have 6 copies use "startlack 7".
- If you are using tos < 1.4, lack will alter the aes
- version number. This way programs will go through lack's
- wind_new routine rather than trying to provide it's one wind_new
- routine. gem microemacs doesn't use wind_new, but can't seem to
- find windows owned by accessories when using lack. lack also
- provides its own menu_register and menu_unregister routines, if
- you are using tos < 2.0, it will try to emulate appl_yield, but I
- haven't tested this feature.
- To provide full aes version 2 compatibility, I need to do
- the following things: generate WM_UNTOPPED messages, provide
- scrp_clear, shel_rdef, and shel_wdef calls. I'm not sure how
- those shel calls behave if no NEWDESK.INF file is present, in
- fact I don't even know the format of a NEWDESK.INF file. I also
- need to provide the following calls that I know nothing about at
- all: appl_bvset, xgrf_stepcalc, and xgrf_2box. I was going to
- work on aes 3.31 compatable menu_popup, etc. calls but I quickly
- realized that I have no idea what the structure of those menu's
- are. It seems unlikely that a submenu OBJECT is the child of it's
- associated item on another menu, because the child OBJECT would
- not fit within the parent. How do you create a popup menu
- heriarchy at compile time rather than going through menu_attach,
- or is that even possible? I would like to provide an aes 4.0
- style shel_write interface, but again I have no idea what that
- interface is.
- Expect lack 0.30 to have either menus for programs it
- loads or its own fileselector. But don't expect it any time soon
- -- I should be doing better things with my time.
- Please report all the bugs you come across. I may take a
- long time responding to mail, but I will nonetheless be very
- grateful for bug reports. I don't ask for any money in exchange
- for this program, but if you have any software you would really
- like to be able to use lack with, you might consider donating a
- copy. Email llunch@knuth.cba.csuohio.edu.
- love,
- Jason
-